فرض کن یه ساختمان جدید داری و میخوای بهش یه آدرس پستی بدی (IP)، مشخص کنی کدوم در ورودی اصلیه (Gateway)، و تعیین کنی که توی کدوم محله قرار داره (Netmask). توی لینوکس، این تنظیمات رو توی فایلهای پیکربندی ذخیره میکنی. این جلسه بهت یاد میده چطور این کار رو انجام بدی و از ابزارهای مختلف مثل nmtui و nmcli استفاده کنی.
محل ذخیره فایلهای پیکربندی شبکه در توزیعهای مختلف لینوکس متفاوت است:
| توزیع | محل فایل پیکربندی |
|---|---|
| دبیان و مشتقات (Debian, Ubuntu, Kali) | /etc/network/interfaces |
| رد هت و مشتقات (RHEL, CentOS, AlmaLinux) | /etc/sysconfig/network-scripts/ifcfg-* |
| openSUSE | /etc/sysconfig/network |
/etc/network/interfaces و در رد هت از /etc/sysconfig/network-scripts/ifcfg-* استفاده میشود.
در دبیان و مشتقات، فایل اصلی پیکربندی شبکه /etc/network/interfaces است. در این فایل میتوانید تنظیمات استاتیک یا DHCP را اعمال کنید.
auto برای فعالسازی خودکار رابط شبکه و از iface برای تعریف تنظیمات استفاده میشود.
در رد هت و مشتقات، فایلهای پیکربندی در دایرکتوری /etc/sysconfig/network-scripts/ با نام ifcfg- به همراه نام دستگاه شبکه (مثل ifcfg-enp0s3) قرار دارند.
BOOTPROTO (dhcp یا static)، ONBOOT (فعال در بوت)، IPADDR، NETMASK، GATEWAY، DNS1.
در گذشته، تنظیمات DNS در فایل /etc/resolv.conf ذخیره میشد. امروزه، در بسیاری از توزیعها از systemd-resolved برای مدیریت DNS استفاده میشود.
در سیستمهای با systemd-resolved، فایل /etc/resolv.conf معمولاً یک لینک سمبلیک به /run/systemd/resolve/stub-resolv.conf است. برای تغییر دائمی DNS، از systemd-resolved یا تنظیمات NetworkManager استفاده کنید.
nmtui (NetworkManager Text User Interface) یک ابزار گرافیکی مبتنی بر متن برای مدیریت NetworkManager است. این ابزار به شما اجازه میدهد بدون نیاز به ویرایش دستی فایلها، تنظیمات شبکه را تغییر دهید.
| گزینه | توضیح |
|---|---|
| Edit a connection | ویرایش اتصالات موجود (شامل تنظیم IP، Gateway، DNS و ...) |
| Activate a connection | فعال یا غیرفعال کردن یک اتصال |
| Set system hostname | تنظیم نام میزبان (Hostname) سیستم |
دستور nmtui را اجرا کنید.
با کلیدهای جهتنما به Edit a connection بروید و Enter را بزنید.
اتصال مورد نظر (مثلاً eth0 یا enp0s3) را انتخاب کنید و Enter را بزنید.
Manual تغییر دهید.192.168.1.100/24).192.168.1.1).8.8.8.8, 8.8.4.4).با کلید Tab به دکمه OK بروید و Enter را بزنید. سپس Back را انتخاب کنید و از nmtui خارج شوید.
توضیح: برای اعمال تغییرات، سرویس NetworkManager را مجدداً راهاندازی کنید.
sudo systemctl restart NetworkManager استفاده کنید.
nmcli (NetworkManager Command Line Interface) یک ابزار خط فرمان قدرتمند برای مدیریت NetworkManager است. با استفاده از nmcli میتوانید تمام کارهایی که با nmtui انجام میدهید را از طریق ترمینال انجام دهید.
توضیح: نمایش وضعیت کلی NetworkManager.
توضیح: نمایش وضعیت دستگاههای شبکه (فعال، غیرفعال، قطع).
توضیح: نمایش اتصالات فعال.
توضیح: نمایش همه اتصالات ذخیرهشده (فعال و غیرفعال).
توضیح: ایجاد یک اتصال جدید با نام eth1 روی دستگاه enp0s3 با IP 10.0.2.10 و Gateway 192.168.1.254.
توضیح: نمایش شبکههای وایفای موجود.
توضیح: اتصال به شبکه وایفای با SSID مشخص و رمز عبور.
nmcli general status (وضعیت کلی)، nmcli device status (وضعیت دستگاهها)، nmcli connection show (نمایش اتصالات)، nmcli device wifi connect (اتصال به وایفای).
این ابزارها قدیمی هستند و در سیستمهای جدید با ip، iw و nmcli جایگزین شدهاند، اما همچنان در برخی توزیعها موجود هستند.
توضیح: تنظیم IP با ifconfig (قدیمی).
توضیح: اتصال به وایفای با iwconfig (قدیمی).
توضیح: افزودن Gateway پیشفرض با route (قدیمی).
ifconfig، iwconfig و route قدیمی هستند و بهجای آنها از ip و nmcli استفاده کنید.
| دستور | کاربرد |
|---|---|
nmcli general status |
وضعیت کلی NetworkManager |
nmcli device status |
وضعیت دستگاههای شبکه |
nmcli connection show --active |
اتصالات فعال |
nmcli connection show |
همه اتصالات ذخیرهشده |
sudo nmcli con add type ethernet con-name NAME ifname DEVICE ip4 IP/GW |
ایجاد اتصال جدید |
nmcli device wifi list |
لیست شبکههای وایفای |
nmcli device wifi connect SSID password PASS |
اتصال به وایفای |
sudo systemctl restart NetworkManager |
راهاندازی مجدد NetworkManager |
/etc/network/interfaces — رد هت: /etc/sysconfig/network-scripts/ifcfg-*/etc/resolv.conf یا systemd-resolvedsudo systemctl restart NetworkManagerifconfig، iwconfig، route (منسوخ شده)